草庐IT

Java Parallel Streams 关闭线程

全部标签

c# - 有没有办法唤醒 sleep 线程?

有没有办法在C#中唤醒休眠线程?那么,让它休眠很长时间,然后在您需要处理工作时唤醒它? 最佳答案 安AutoResetEvent对象(或另一个WaitHandle实现)可用于休眠,直到收到来自另一个线程的信号://launchacalculationthreadvarwaitHandle=newAutoResetEvent(false);intresult;varcalculationThread=newThread(delegate{//thiscodewillrunonthecalculationthreadresult=Fac

Python多线程详解

现代计算机CPU物理核心普遍比较多,我们在编写程序时经常会用到多线程技术来提高程序运行的效率。作为python萌新,我在掌握基本语法后就很想摆弄一下python的多线程,使用起来确实很有python的特点,代码量少、操作方便。之后断断续续写了一些多线程程序,直到今天下午逛论坛,看到很多人说python多线程机制的一些内情,我才意识到自己有多愚蠢哈哈。我把自己学到的内容系统的整理一下,以备后忘,也帮帮后来者。Python多线程详解1.线程创建与管理1.1创建线程1.2设置守护线程1.3设置线程阻塞1.4线程间通信的方法1.4.1线程锁1.4.2queue模块(同步队列类)1.5杀死线程1.6线程

c# - 如何强制 Task.Factory.StartNew 进入后台线程?

我已经看到许多其他类似的问题,但没有在那里找到我的答案。我的问题是我正在使用以下流程创建线程:privatevoidbtn_Click(objectsender,EventArgse){service.GetCount((count,ex)=>{if(ex!=null)return;for(inti=0;icallback){varcallingThread=TaskScheduler.FromCurrentSynchronizationContext();Funcaction=()=>{returnclient.GetCount();//Synchronousmethod,could

c# - 如何安全地停止在 Windows 服务中运行的 C# .NET 线程?

我正在维护一些看起来像这样的代码。这是一项Windows服务,每30分钟执行一些工作。ActualWorkDoneHere方法需要大约30秒才能运行,但如果它在运行时停止,可能会使事情处于糟糕的状态。防止这种情况发生的最佳方法是什么?我应该用onstop方法中设置为false的bool值替换While(true)(删除线程Abort调用)吗?有什么方法可以判断线程是否正在休眠?namespaceWorkService{publicpartialclassWorkService:ServiceBase{privateThread_workerThread=null;publicWorkS

c# - 通过避免文本框验证来关闭 C# windows 窗体

这是一个winformC#问题。我有一个带有验证事件监听器的文本框,用于根据正则表达式验证文本框的内容。验证后,如果输入的值不正确,我将显示消息框并取消事件,以便鼠标光标移回具有不正确值的文本框。当我从该文本框移出到其他按钮/文本框时,这工作正常。但是,当我输入不正确的值并关闭表单(使用右上角的关闭按钮)时,它会验证文本框内容并抛出消息框并且表单不会在我取消事件时关闭。问题是,当我单击表单右上角的X按钮时,我不希望验证被触发,因为我无论如何都要关闭表单。我怎样才能做到这一点?我会尽快发布代码片段。 最佳答案 要使用验证处理程序,例如

c# - httpWebRequest(底层连接已关闭 : The connection was closed unexpectedly. )

我正在开发一个C#应用程序,它记录来自网络服务器的数据。它向网络服务器发送以下发布请求并等待响应。//////FunctionforobtainingtestCgidata/////////privatestringHttpmyPost(stringParameters){stringstr="Noresponse";HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(uriTestCGI);request.Method="POST";byte[]bytes=Encoding.UTF8.GetBytes(Parameters)

c# - 从 C# 中的不同线程启动计时器

您好,我已经解决了一些与计时器相关的问题。希望有人能帮忙..我有一个包含按钮的窗体当我点击那个按钮时,我启动了一个参数化线程Threadthread1=newThread(newParameterizedThreadStart(execute2));thread1.Start(externalFileParams);线程里面的代码执行的很好在这个线程的最后一行我启动了一个计时器.publicvoidexecute2(Objectob){if(obisExternalFileParams){if(boolean_variable==true)executeMyMethod();//thi

c# - 如何保护可能在多线程或异步环境中使用的资源?

我正在开发供各种消费者使用的C#API。此API提供对共享资源的访问(在我的例子中是进行串行通信的硬件),通常会有几个不同的参与者试图同时使用它。我遇到的问题是我的一些消费者会想在多线程环境中使用它——每个参与者独立工作并尝试使用该资源。一个简单的锁在这里工作得很好。但是我的一些消费者更喜欢使用异步等待和时间片资源。(据我了解)这需要一个异步锁来将时间片返回给其他任务;锁定锁会停止整个线程。而且我认为拥有串行锁充其量是性能不佳的,最坏的情况是潜在的竞争条件或死锁。那么我如何才能在公共(public)代码库中为这两种潜在的并发使用保护这个共享资源呢? 最佳答案

c# - 这个非锁定的 TryGetValue() 字典访问线程安全吗?

privateobjectlockObj=newobject();privateDictionarydict=newDictionary();publicstringGetOrAddFromDict(intkey){stringvalue;//non-lockedaccess:if(dict.TryGetValue(key,outvalue))returnvalue;lock(this.lockObj){if(dict.TryGetValue(key,outvalue))returnvalue;stringnewValue="valueof"+key;//placelongoperat

c# - 多线程,Task.Run 错误 'The call is ambiguous between the following methods or properties'

当我尝试构建项目时,显示以下错误消息。Thecallisambiguousbetweenthefollowingmethodsorproperties:'System.Threading.Tasks.Task.Run(System.Action)'and'System.Threading.Tasks.Task.Run(System.Func)'我该如何解决这个问题?publicstaticclassMaintananceManager{privatestaticThreadSafeSocialMediaListPostList=newThreadSafeSocialMediaList(